/*--------------------------------------------------------------------------
  Project::HEXAGON FLIGHT SIMULATOR
  Package::SkyObjects
  Class::Clouds
  File Clouds.h
  --------------------------------------------------------------------------
  * METHODS AND CLASS PARAMETERS


  --------------------------------------------------------------------------
  * FUNCTIONS DESCRIPTION
  

  --------------------------------------------------------------------------
  * COPYRIGHT

  --------------------------------------------------------------------------
  * INFO ABOUT AUTHOR AND VERSIONS
  Author:	Tino Giorgio	Data: 20-09-2005
  Rev1:			Data:

  --------------------------------------------------------------------------
  * E-MAIL & CONTACTS

  GIORGIO TINO:	tinoshi@libero.it
	           	shapeofangels@hotmail.com
	            giorgio.tino@studenti.polito.it

  --------------------------------------------------------------------------*/


#if !defined(CLOUDS_H)
#define CLOUDS_H

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/* PLIB includes */
#include <plib/ssg.h>
#include <plib/ssgAux.h>
#include <plib/ssgaSky.h>

/* Project classes includes*/
#include "Defines.h"
#include "Sky.h"

class Clouds  
{
public:
	Clouds(ssgaSky *sky);
	virtual ~Clouds();
	
	// To recalculate the colors 
	void setBrightness(float b);

	sgVec4 *getCloudColor(void);
	sgVec4 *getFogColor(void);

private:
	// Pointers to the cloud layers
    ssgaCloudLayer      *clouds[MAX_CLOUDS];
	const char			*cloudNameList[MAX_CLOUDS + 1];
	
	// Clouds and fog colors
	sgVec4				fog_color ;
	sgVec4				cloud_color ;

	// Sky brightness
	float brightness;

};

#endif // !defined(CLOUDS_H)